Implementation of a Portable Runtime System Supporting Mixed Task and Data Parallelism
نویسندگان
چکیده
This paper describes the portable implementation of a programming model based on shared objects that integrates task and data parallelism. As a starting point, the implementation uses two existing runtime systems: the Orca runtime system (RTS), for task parallel programming, and Hawk, for data parallel programming. To achieve this portable integration, we implemented the Orca RTS and Hawk on top of Panda, a virtual machine that was designed to facilitate porting parallel programming systems to new architectures. With the resulting system, an application program may use the task parallel model of Orca and the data parallel model of Hawk by calling the appropriate primitives in either the Orca RTS or in Hawk. keywords: Data Parallel Programming. Partitioned Shared Objects. Portable Runtime System. Portable Virtual Machine. Shared Objects. Task Parallel Programming.
منابع مشابه
A tool for generating programs with mixed task and data parallelism
Distributed memory machines provide large computing power, but the development process for a specific parallel algorithm on a specific machine is complex due to the complicated runtime behaviour caused by communication overhead and load imbalance. We consider a powerful multi-dimensional scheduling embedded into a tool for generating parallel programs with mixed task and data parallelism. The p...
متن کاملPVM and MPI Communication Operations on the IBM SP2: Modeling and Comparison
Most current message passing programs use the portable communication libraries PVM and MPI to realize communication. In this paper, we investigate the performance of single transfer operations and several collective communication operations, like broadcast or gather operations, using the portable communication libraries PVM and MPI on the IBM SP2. Our investigations include timings of different...
متن کاملHierarchical Place Trees: A Portable Abstraction for Task Parallelism and Data Movement
Modern computer systems feature multiple homogeneous or heterogeneous computing units with deep memory hierarchies, and expect a high degree of thread-level parallelism from the software. Exploitation of data locality is critical to achieving scalable parallelism, but adds a significant dimension of complexity to performance optimization of parallel programs. This is especially true for program...
متن کاملPortable Support and Exploitation of Nested Parallelism in OpenMP
In this paper, we present an alternative implementation of the NANOS OpenMP runtime library (NthLib) that targets portability and efficient support of multiple levels of parallelism. We have implemented the runtime libraries of available opensource OpenMP compilers on top of NthLib, reducing thus their overheads and providing them with inherent support for nested parallelism. In addition, we pr...
متن کاملIntegrated Support for Task and Data Parallelism
We present an overview of research at the CRPC designed to provide an e cient, portable programmingmodel for scienti c applications possessing both task and data parallelism. Fortran M programs exploit task parallelism by providing language extensions for user-de ned process management and typed communication channels. A combination of compiler and run-time system support ensures modularity, sa...
متن کامل